package com.fly.service;

import com.fly.bean.Resources;
import com.fly.bean.RoleReRela;

public interface PermissionService {

    /**
     * 根据用户ID获取角色ID
     * @param userId
     * @return
     */
    Integer selectRoleIdByUserId(Integer userId);

    /**
     * 根据角色ID得到资源id信息
     * @param roleId
     * @return
     */
    Integer[] selectResourcesIdByRoleId(Integer roleId);

    /**
     * 根据资源id获取其对应的所有资源信息
     * @param resourcesId
     * @return
     */
    Resources selectResourcesByResourcesId(Integer resourcesId);

    /**
     * 根据角色名称查询角色Id
     * @param roleName
     * @return
     */
    Integer selectRoleIdByRoleName(String roleName);

    /**
     * 根据父节点名称得到资源类型ResourcesType
     * @param resourcesName
     * @return
     */
    Integer selectResourcesTypeResourcesName(String resourcesName);

    /**
     * 根据父节点名称得到ResourcesId
     * @param resourcesName
     * @return
     */
    Integer selectResourcesIdByResourcesName(String resourcesName);

    /**
     * 通过父节点的resourcesId得到其子节点的数量
     * @param resourcesId
     * @return
     */
    Integer selectCountByResourcesId(Integer resourcesId);

    /**
     * 查询资源状态信息根据sysProValueName
     * @param sysProValueName
     * @return
     */
    Integer selectResourcesStateBySysProValueName(String sysProValueName);

    /**
     * 通过父节点，功能名称，功能URL，和状态添加菜单节点
     * @param resources
     * @return
     */
    Integer addResources(Resources resources);

    /**
     * 根据角色Id删除其对应的角色资源关系信息
     * @param roleId
     * @return
     */
    Integer deleteRoleAndResourcesByRoleId(Integer roleId);

    /**
     *
     * @param resourcesName
     * @return
     */
    Integer selectResourcesIdByResourcesName2(String resourcesName);

    /**
     * 根据角色Id和资源Id添加role_resources_relation数据
     * @param roleReRela
     * @return
     */
    Integer addRole_resources_relation(RoleReRela roleReRela);

    /**
     * 查询得到所有的角色名称
     * @return
     */
    String[] selectAllRoleName();

    /**
     * 获取角色对应的请求资源
     * @return
     */

    String[] selectRoleRequestURI(int roleId);

}
